Synchronous/Reactive Programming of Concurrent System Software
نویسندگان
چکیده
Synchronous languages are intended for programming reactive systems. Reactive systems, which include real-time systems and key operating system components, interact continually with their environment. This paper considers the applicability of imperative synchronous/reactive languages to the development of general system software, that is, to the implementation of operating system kernels, file systems, databases, networks, server architectures, device drivers, etc.. The languages Esterel and Reactive C (RC) receive special attention as Esterel is the oldest and most developed such language and RC is specifically designed for compatibility with C systems programming. An alternative soft-instruction software architecture is described which is well suited to real-world system programming. keywords: reactive systems, synchronous language, concurrent programming, system software, operating systems, threading, real-time systems, soft-instructions.
منابع مشابه
Software Implementation of Synchronous Programs
Synchronous languages allow a high level, concurrent, and deterministic description the behavior of reactive systems. Thus, they can be used advantageously for the programming of embedded control systems. The runtime requirements of synchronous code are light, but several critical properties must be fulfilled. In this paper, we address the problem of the software implementation of synchronous p...
متن کاملSession-Based Concurrency, Reactively
This paper concerns formal models for the analysis of communication-centric software systems that feature declarative and reactive behaviors. We focus on session-based concurrency, the interaction model induced by session types, which uses (variants of) the π-calculus as specification languages. While well-established, such process models are not expressive enough to specify declarative and rea...
متن کاملDebugging Scheme Fair Threads
There are two main policies for scheduling thread-based concurrent programs: preemptive scheduling and cooperative scheduling. The former is known to be difficult to debug, because it is usually non-deterministic and can lead to data races or difficult thread synchronization. We believe the latter is a better model when it comes to debugging programs. In this paper, we discuss the debugging of ...
متن کاملA Synchronous Approach to Reactive System Design
Reactive systems are systems that maintain permanent interactions with their environment. In this paper, we present our experience teaching discrete-event reactive systems to Electrical Engineering students. The course ranges from logic circuits to software components, and covers models, analysis, design of various systems (from logical systems to embedded systems). Since our students are not e...
متن کاملProgramming Paradigms for Dummies: What Every Programmer Should Know
This chapter gives an introduction to all the main programming paradigms, their underlying concepts, and the relationships between them. We give a broad view to help programmers choose the right concepts they need to solve the problems at hand. We give a taxonomy of almost 30 useful programming paradigms and how they are related. Most of them differ only in one or a few concepts, but this can m...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softw., Pract. Exper.
دوره 27 شماره
صفحات -
تاریخ انتشار 1997